perm filename LOSS.1[TIM,LSP]6 blob
sn#673165 filedate 1982-08-14 generic text, type C, neo UTF8
COMMENT ā VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 Takeuchi function of various types
C00012 ENDMK
Cā;
Takeuchi function of various types
tak (18. 12. 6.)
On 11/750 in Franz generic arith (sfc)47.6 seconds compiled (JKF time 4/26)
On 11/780 in Franz generic arith (sfc)27.6 seconds compiled (JKF time 4/26)
On 11/750 in Franz ordinary arith 19.9 seconds compiled
On 11/780 in Franz with (sfc)(TAKF) 15.8 seconds compiled (GJC time)
On 11/750 in Franz fixnum arith (sfc) 14.1 seconds compiled (JKF time 4/26)
On 2060 in InterLisp (rc/swl) 13.288 seconds compiled (rpg 8/12)
On 2060 in InterLisp (rc/swl) 12.7 seconds compiled (LM 5/7)
On 11/750 in Franz generic arith (nfc)11.6 seconds compiled (JKF time 4/26)
On Dolphin in InterLisp Nov 1981 (tr) 11.195 seconds compiled
On 11/780 in Franz (sfc) 8.4 seconds compiled (KIM time)
On 11/780 in Franz fixnum arith (sfc) 8.1 seconds compiled (JKF time 4/26)
On 11/780 in Franz (sfc) 8.35 seconds compiled (GJC time)
On 11/780 in Franz generic arith (nfc) 7.7 seconds compiled (JKF time 4/26)
On 11/780 in Franz with (nfc)(TAKF) 7.5 seconds compiled (GJC time)
On 11/750 in PSL, generic arith 7.1 seconds compiled
On 11/750 in Franz (TAKF) 6.7 seconds compiled (JKF time 4/26)
On MC (KL) in MacLisp (TAKF) 5.9 seconds compiled (GJC time)
On Dolphin May 1982 generic arith 5.74 seconds compiled (LM 5/6)
On Dolphin in InterLisp Jan 1982 (tr) 5.71 seconds compiled
On Dolphin May 1982 Inum arith (tr) 5.28 seconds compiled (LM 5/6)
On Dolphin May 1982 generic arith (tr) 5.23 seconds compiled (LM 5/6)
On 2060 in T/UCILISP (sfc) 4.801 seconds compiled (Tyson 5/5)
On 2060 in InterLisp (rc/nsw) 4.57 seconds compiled (LM 5/7)
On Symbolics LM-2 4.446 seconds compiled (HIC)
On 11/780 in Franz (TAKF) 4.3 seconds compiled (JKF time 4/26)
On 11/780 in InterLisp (load = 0) 4.24 seconds compiled
On Dolphin May 1982 gen arth (d/o) 4.21 seconds compiled (LM 5/6)
On Foonly F2 in MacLisp 4.1 seconds compiled
On Dolphin May 1982 Inum arth (d/o,tr) 3.88 seconds compiled (LM 5/6)
On Dolphin May 1982 gen arth (d/o,tr) 3.84 seconds compiled (LM 5/6)
On Apollo (MC68000) PASCAL 3.8 seconds (extra waits?)
On 11/750 in Franz, Fixnum arith 3.6 seconds compiled
On MIT CADR in ZetaLisp 3.16 seconds compiled (GJC time)
On 2060 in R/UCILISP (sfc) 3.157 seconds compiled (Hedrick 5/4)
On MIT CADR in ZetaLisp 3.1 seconds compiled (ROD time)
On MIT CADR in ZetaLisp (TAKF) 3.1 seconds compiled (GJC time)
On Symbolics LM-2 2.905 seconds compiled (HIC)
On Apollo (MC68000) PSL SYSLISP 2.93 seconds compiled
On 11/780 in NIL (TAKF) 2.8 seconds compiled (GJC time)
On 11/780 in NIL 2.7 seconds compiled (GJC time)
On 11/750 in C 2.4 seconds
On 11/780 in Franz (nfc) 2.13 seconds compiled (KIM time)
On 11/780 (Diablo) in Franz (nfc) 2.1 seconds compiled (VRP time)
On 11/780 in Franz (nfc) 2.1 seconds compiled (GJC time)
On 11/780 in Franz fixnum arith (nfc) 2.1 seconds compiled (JKF time 4/26)
On 2060 in InterLisp (bc) 2.153 seconds compiled (rpg 8/12)
On 2060 in InterLisp (bc) 2.04 seconds compiled (LM 5/7)
On 68000 in C 1.9 second
On 11/750 in Franz fixnum arith (lfc) 1.9 seconds compiled (JKF time 4/26)
On Apollo PSL (10Mz/1Mb/Cache) 1.679 seconds compiled
On Utah-20 in PSL Generic arith 1.672 seconds compiled
On 11/750 in PSL INUM arith 1.4 seconds compiled
On 11/780 (Diablo) in C 1.35 seconds
On 11/780 in Franz (lfc) 1.13 seconds compiled (KIM time)
On UTAH-20 in Lisp 1.6 1.1 seconds compiled
On 11/780 in Franz fixnum arith (lfc) 1.1 seconds compiled (JKF time 4/26)
On UTAH-20 in PSL Inum arith 1.077 seconds compiled
On 2060 in Elisp (nfc) 1.063 seconds compiled (Hedrick 5/4)
On 2060 in R/UCILISP (nfc) .969 seconds compiled (Hedrick 5/4)
On 2060 in T/UCILISP (nfc) .930 seconds compiled (tyson 5/5)
On SAIL (KL) in MacLisp .832 seconds compiled
On SAIL in bummed MacLisp .795 seconds compiled
On MC (KL) in MacLisp (TAKF,dcl) .789 seconds compiled
On 68000 in machine language .7 seconds
On MC (KL) in MacLisp (dcl) .677 seconds compiled
On SAIL in bummed MacLisp (dcl) .616 seconds compiled
On SAIL (KL) in MacLisp (dcl) .564 seconds compiled
On Dorado in InterLisp Jan 1982 (tr) .53 seconds compiled
On UTAH-20 in SYSLISP arith .526 seconds compiled
On SAIL in machine language .255 seconds (wholine)
On SAIL in machine language .184 seconds (ebox-does not include mem)
On SCORE (2060) in machine language .162 seconds (ebox)
On S-1 Mark I in machine language .114 seconds (ebox & ibox)
On Cray-1, PSL .048 seconds compiled
63609 function calls
max recursion depth is 18
average recursion depth is 15.4
(defun tak (x y z)
(cond ((not (< y x))
z)
(t (tak (tak (1- x) y z)
(tak (1- y) z x)
(tak (1- z) x y))))))
notes:
(tr) means Tail Recursion Removal
(d/o) means Display turned Off on Dolphin
(sfc) means `slow function call' in Franz (debugging setting (like (NOUUO t)))
(nfc) means `normal function call' in Franz (non-debugging setting (like (NOUUO ()))
(lfc) means `local function call' in Franz (function call directly to an entry point
using knowledge of the internals of the
function by the compiler)
(bc) means Block Compiled in InterLisp
(rc) means Regular Compiled in InterLisp
(swl) means SWapping space size set low in InterLisp
(nsw) means No SWapping space in InterLisp
(dcl) means heavy MacLisp declarations
;;; Here are the definitions of TAKF as provided by GJC. #-NIL means
;;; except in NIL, #+NIL means for NIL.
(defun takf (x y z)
(takfsub #'takfsub x y z))
#-NIL
(defun takfsub (f x y z)
(if (not (< y x))
z
(funcall f f (funcall f f (1- x) y z)
(funcall f f (1- y) z x)
(funcall f f (1- z) x y))))
#+NIL
(defun takfsub ((&function f) x y z)
;; lexical scoping of function bindings allows this.
(if (not (< y x))
z
(f #'f (f #'f (1- x) y z)
(f #'f (1- y) z x)
(f #'f (1- z) x y))))